package com.ruoyi.venue.mapper;

import java.util.List;
import com.ruoyi.venue.domain.Venue;
import com.ruoyi.field.domain.Field;
import org.apache.ibatis.annotations.Param;

/**
 * 场馆Mapper接口
 * 
 * @author HuLongHu
 * @date 2023-02-11
 */
public interface VenueMapper 
{
    /**
     * 查询场馆
     * 
     * @param venueId 场馆主键
     * @return 场馆
     */
    public Venue selectVenueByVenueId(Long venueId);

    /**
     * 查询场馆列表
     * 
     * @param venue 场馆
     * @return 场馆集合
     */
    public List<Venue> selectVenueList(Venue venue);
    public List<Field> venueReservationList(@Param("fieldName") String fieldName);

    /**
     * 新增场馆
     * 
     * @param venue 场馆
     * @return 结果
     */
    public int insertVenue(Venue venue);

    /**
     * 修改场馆
     * 
     * @param venue 场馆
     * @return 结果
     */
    public int updateVenue(Venue venue);

    /**
     * 删除场馆
     * 
     * @param venueId 场馆主键
     * @return 结果
     */
    public int deleteVenueByVenueId(Long venueId);

    /**
     * 批量删除场馆
     * 
     * @param venueIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVenueByVenueIds(Long[] venueIds);

    /**
     * 批量删除场地
     * 
     * @param venueIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteFieldByVenueIds(Long[] venueIds);
    
    /**
     * 批量新增场地
     * 
     * @param fieldList 场地列表
     * @return 结果
     */
    public int batchField(List<Field> fieldList);
    

    /**
     * 通过场馆主键删除场地信息
     * 
     * @param venueId 场馆ID
     * @return 结果
     */
    public int deleteFieldByVenueId(Long venueId);
}
